package com.jar.exercise.json转object;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;

import java.util.Map;

public class Demo {
    /**
     * json转map
     */
    public static void testJson2Map () {
        String str = "{\"0\":\"zhangsan\",\"1\":\"lisi\",\"2\":\"wangwu\",\"3\":\"maliu\"}";
        // 第一种方式
        Map map1 = (Map) JSON.parse(str);
        System.out.println("使用JSON类来解析JSON字符串 -- map1 = " + map1);

        // 第二种方式
        Map map2 = JSON.parseObject(str);
        System.out.println("使用JSON类的parseObject来解析JSON字符串 -- map2 = " + map2);

        // 第三种方式
        Map map3 = JSON.parseObject(str, Map.class);
        System.out.println("使用JSON类,指定解析类型，来解析JSON字符串 -- map3 = " + map3);

        // 第四种方式
        /**
         * JSONObject是Map接口的一个实现类
         */
        Map map4 = (Map) JSONObject.parse(str);
        System.out.println("使用JSONObject类的parse方法来解析JSON字符串 -- map4 = " + map4);

        // 第五种方式
        /**
         * JSONObject是Map接口的一个实现类
         */
        JSONObject map5 = JSONObject.parseObject(str);
        System.out.println("使用JSONObject的parseObject方法来解析JSON字符串 -- map5 = " + map5);

        // 第六种方式
        /**
         * JSONObject是Map接口的一个实现类
         */
        Map map6 = JSONObject.parseObject(str, Map.class);
        System.out.println("使用JSONObject的parseObject方法并执行返回类型来解析JSON字符串 -- map6 = " + map6);

    }

    public static void main(String[] args) {
        testJson2Map();
    }
}
